/*
 * 文件名：JobFactory.java
 * 版权：Copyright by http://www.infopub.top/
 * 描述：
 * 修改人：Awoke
 * 修改时间：2018年9月21日
 * 跟踪单号：
 * 修改单号：
 * 修改内容：
 */

package top.infopub.job.quartz.factory;


import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.scheduling.quartz.AdaptableJobFactory;


/**
 * 自定义的一个类JobFactory 为了可以在job中使用spring的bean方式注入service
 * @author Awoke
 * @version 2018年9月21日
 * @see JobFactory
 * @since
 */
public class JobFactory extends AdaptableJobFactory {
    
    @Autowired
    private AutowireCapableBeanFactory beanFactory;

    @Override
    protected Object createJobInstance(TriggerFiredBundle bundle)
        throws Exception {
        Object jobInstance = super.createJobInstance(bundle);
        // 把Job交给Spring来管理，这样Job就能使用由Spring产生的Bean
        beanFactory.autowireBean(jobInstance);
        return jobInstance;
    }

}
